package paytreasure.util.pag;

import java.io.Serializable;

public class Page implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -3683766223108450222L;
    
	 private int pageNow =1;// 当前页数
     private int pageSize= 21; // 每页显示记录的条数;
     private int totalCount; // 总的记录条数
     private int totalPageCount =1; // 总的页数	
     private int startPos;// 开始位置，从0开始	
     private boolean hasFirst;// 是否有首页
     private boolean hasPre;// 是否有前一页
     private boolean hasNext;// 是否有下一页
     private boolean hasLast;// 是否有最后一页
     
     public Page() {
     }
     /** 
          * 通过构造函数 传入  总记录数  和  当前页 
          * @param totalCount 
          * @param pageNow 
          */
     public Page(int totalCount, int pageNow) {
    	 this.totalCount=totalCount;
    	 this.pageNow=pageNow;
    	 totalPageCount=getTotalCount()/getPageSize();
    	 this.totalPageCount=(totalCount % pageSize == 0) ? totalPageCount :totalPageCount+1;
     }
     /** 
          * 取得总页数，总页数=总记录数/总页数 
          * @return 
          */
     public int getTotalPageCount() {
    	
    	 
    	 return  totalPageCount ;
    			 
 	}

	public int getPageNow() {
		return pageNow;
	}
	public void setPageNow(int pageNow) {
		this.pageNow = pageNow;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getTotalCount() {
		return totalCount;
	}
	public void setTotalCount(int totalCount) {
		this.totalCount = totalCount;
	}
	
	public void setTotalPageCount(int totalPageCount) {
		this.totalPageCount = totalPageCount;
	}
	/** 
	     * 取得选择记录的初始位置 
	     * @return 
	     */
	public int getStartPos() {
		return (pageNow - 1) * pageSize;
	}
	public void setStartPos(int startPos) {
		this.startPos = startPos;
	}
	/** 
	     * 是否是第一页 
	     * @return 
	     */
	public boolean isCheckFirst() {
		return (pageNow ==1 )? false : true;
	}
	public void setHasFirst(boolean hasFirst) {
		this.hasFirst = hasFirst;
	}
	
	
	
	
	
	public boolean gethasNext(){
		if(totalPageCount==1){
			return false;
		}
		if(pageNow ==totalPageCount){
			return false;
		}
		
		return true;
	}
	/** 
	     * 是否有首页 
	     * @return 
	     */
	public boolean isCheckPre() {
		// 如果有首页就有前一页，因为有首页就不是第一页  
		return isCheckFirst() ? true : false;
	}
	public void setHasPre(boolean hasPre) {
		this.hasPre = hasPre;
	}
	/** 
	     * 是否有下一页 
	     * @return 
	     */
	public boolean isCheckNext() {
		// 如果有尾页就有下一页，因为有尾页表明不是最后一页  
		return isCheckLast() ? true : false;
	}
	public void setHasNext(boolean hasNext) {
		this.hasNext = hasNext;
	}
	/** 
	     * 是否有尾页 
	     * @return 
	     */
	public boolean isCheckLast() {
		// 如果不是最后一页就有尾页  
		return (pageNow == getTotalCount()) ? false : true;
	}
	public void setHasLast(boolean hasLast) {
		this.hasLast = hasLast;
	}

	
}
